﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace smartvoid.secciones.sub
{
    public partial class NuevoEvento : System.Web.UI.Page
    {
        int idGrupo = 0;
        protected void Page_Load(object sender, EventArgs e)
        {
            Usuario user = Session["Usuario"] as Usuario;
            if (Request.QueryString["Day"] != null && 
                Request.QueryString["Month"] != null && 
                Request.QueryString["Year"] != null)
                GenerarTabla();
            if (Session["Grupo"] != null)
            {
                idGrupo = Int32.Parse(Session["Grupo"].ToString());
            }
        }

        protected void btnOk_Click(object sender, EventArgs e)
        {
            using (var SmartVctx = new SmartVoidEntities())
            {
                Evento objEvento = new Evento();
                objEvento.e_IDGrupo = idGrupo;
                objEvento.e_IDEvento = obtenerMaximo() + 1;
                objEvento.e_Nombre = txtNombreEvento.Text;
                objEvento.e_FechaInicio = DateTime.Parse(txtFechaInicio.Text);
                objEvento.e_FechaFin = DateTime.Parse(txtFechaFin.Text);
                objEvento.e_Lugar = txtLugar.Text;
                objEvento.e_Descripcion = txtDescripcion.Text;
                SmartVctx.Eventos.AddObject(objEvento);
                SmartVctx.SaveChanges();
            }

            Response.Redirect("Calendario.aspx");
        }
        
        int obtenerMaximo()
        {
            using (var context = new SmartVoidEntities())
            {
                try
                {
                    int maximo = context.Eventos.Max(p => p.e_IDEvento);
                    return maximo;
                }
                catch
                {
                    return 0;
                }
            }
        }

        void GenerarTabla()
        {
            DateTime fecha = new DateTime(int.Parse(Request.QueryString["Year"]), 
                                int.Parse(Request.QueryString["Month"]),
                                int.Parse(Request.QueryString["Day"]));
            Tabla.Controls.Clear();
            Literal htmlCode = new Literal();
            htmlCode.Text = @"<table class=""hovertable"">
                                <tr>
	                            <th style=""width: 250px"">Nombre</th>
                                <th style=""width: 200px"">Fecha Inicio</th>
                                <th style=""width: 150px"">Fecha Fin</th>
                                </tr>";
            using (var context = new SmartVoidEntities())
            {

                var query = from a in context.Eventos
                                where a.e_FechaInicio == fecha
                                select a;
                foreach (var obj in query)
                {
                    htmlCode.Text = htmlCode.Text + @"<tr onmouseover=""this.style.backgroundColor='#EDCEE8';"" onmouseout=""this.style.backgroundColor='#EAEAEA';"">";
                    htmlCode.Text = htmlCode.Text + "<td>" + obj.e_Nombre + "</td>"; //Nombre de ARchivo
                    htmlCode.Text = htmlCode.Text + "<td>" + obj.e_FechaInicio.ToShortDateString() + "</td>"; // Descripcion
                    htmlCode.Text = htmlCode.Text + "<td>" + obj.e_FechaFin.ToShortDateString() + "</td>"; // Link Descarga
                    htmlCode.Text = htmlCode.Text + "</tr>";
                }
            }
            htmlCode.Text = htmlCode.Text + "</table>";
            Tabla.Controls.Add(htmlCode);

        }
    }
}